<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		[page:Material] &rarr;

		<h1>[name]</h1>

		<p class="desc">
			A material for drawing geometries in a simple shaded (flat or wireframe)
			way.<br /><br />

			This material is not affected by lights.
		</p>

		<iframe
			id="scene"
			src="scenes/material-browser.html#MeshBasicMaterial"
		></iframe>

		<script>

		// iOS iframe auto-resize workaround

		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {

			const scene = document.getElementById( 'scene' );

			scene.style.width = getComputedStyle( scene ).width;
			scene.style.height = getComputedStyle( scene ).height;
			scene.setAttribute( 'scrolling', 'no' );

		}

		</script>

		<h2>Constructor</h2>

		<h3>[name]( [param:Object parameters] )</h3>
		<p>
			[page:Object parameters] - (optional) an object with one or more
			properties defining the material's appearance. Any property of the
			material (including any property inherited from [page:Material]) can be
			passed in here.<br /><br />

			The exception is the property [page:Hexadecimal color], which can be
			passed in as a hexadecimal string and is `0xffffff` (white) by default.
			[page:Color.set]( color ) is called internally.
		</p>

		<h2>Properties</h2>
		<p>See the base [page:Material] class for common properties.</p>

		<h3>[property:Texture alphaMap]</h3>
		<p>
			The alpha map is a grayscale texture that controls the opacity across the
			surface (black: fully transparent; white: fully opaque). Default is
			null.<br /><br />

			Only the color of the texture is used, ignoring the alpha channel if one
			exists. For RGB and RGBA textures, the [page:WebGLRenderer WebGL] renderer
			will use the green channel when sampling this texture due to the extra bit
			of precision provided for green in DXT-compressed and uncompressed RGB 565
			formats. Luminance-only and luminance/alpha textures will also still work
			as expected.
		</p>

		<h3>[property:Texture aoMap]</h3>
		<p>
			The red channel of this texture is used as the ambient occlusion map.
			Default is null. The aoMap requires a second set of UVs.
		</p>

		<h3>[property:Float aoMapIntensity]</h3>
		<p>
			Intensity of the ambient occlusion effect. Range is 0-1, where `0`
			disables ambient occlusion. Where intensity is `1` and the [page:.aoMap]
			red channel is also `1`, ambient light is fully occluded on a surface.
			Default is `1`.
		</p>

		<h3>[property:Color color]</h3>
		<p>[page:Color] of the material, by default set to white (0xffffff).</p>

		<h3>[property:Integer combine]</h3>
		<p>
			How to combine the result of the surface's color with the environment map,
			if any.<br /><br />

			Options are [page:Materials THREE.MultiplyOperation] (default),
			[page:Materials THREE.MixOperation], [page:Materials THREE.AddOperation].
			If mix is chosen, the [page:.reflectivity] is used to blend between the
			two colors.
		</p>

		<h3>[property:Texture envMap]</h3>
		<p>The environment map. Default is null.</p>

		<h3>[property:Euler envMapRotation]</h3>
		<p>
			The rotation of the environment map in radians. Default is `(0,0,0)`.
		</p>

		<h3>[property:Boolean fog]</h3>
		<p>Whether the material is affected by fog. Default is `true`.</p>

		<h3>[property:Texture lightMap]</h3>
		<p>
			The light map. Default is null. The lightMap requires a second set of UVs.
		</p>

		<h3>[property:Float lightMapIntensity]</h3>
		<p>Intensity of the baked light. Default is `1`.</p>

		<h3>[property:Texture map]</h3>
		<p>
			The color map. May optionally include an alpha channel, typically combined
			with [page:Material.transparent .transparent] or [page:Material.alphaTest .alphaTest]. Default is null.
		</p>

		<h3>[property:Float reflectivity]</h3>
		<p>
			How much the environment map affects the surface; also see
			[page:.combine]. The default value is `1` and the valid range is between `0`
			(no reflections) and `1` (full reflections).
		</p>

		<h3>[property:Float refractionRatio]</h3>
		<p>
			The index of refraction (IOR) of air (approximately 1) divided by the
			index of refraction of the material. It is used with environment mapping
			modes [page:Textures THREE.CubeRefractionMapping] and [page:Textures THREE.EquirectangularRefractionMapping]. 
			The refraction ratio should not exceed `1`. Default is `0.98`.
		</p>

		<h3>[property:Texture specularMap]</h3>
		<p>Specular map used by the material. Default is null.</p>

		<h3>[property:Boolean wireframe]</h3>
		<p>
			Render geometry as wireframe. Default is `false` (i.e. render as flat
			polygons).
		</p>

		<h3>[property:String wireframeLinecap]</h3>
		<p>
			Define appearance of line ends. Possible values are "butt", "round" and
			"square". Default is 'round'.<br /><br />

			This corresponds to the
			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineCap 2D Canvas lineCap] 
			property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
		</p>

		<h3>[property:String wireframeLinejoin]</h3>
		<p>
			Define appearance of line joints. Possible values are "round", "bevel" and
			"miter". Default is 'round'.<br /><br />

			This corresponds to the
			[link:https://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/lineJoin 2D Canvas lineJoin] 
			property and it is ignored by the [page:WebGLRenderer WebGL] renderer.
		</p>

		<h3>[property:Float wireframeLinewidth]</h3>
		<p>
			Controls wireframe thickness. Default is `1`.<br /><br />

			Due to limitations of the
			[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile] 
			with the [page:WebGLRenderer WebGL] renderer on most platforms linewidth will always be `1` regardless of the set value.
		</p>

		<h2>Methods</h2>
		<p>See the base [page:Material] class for common methods.</p>

		<h2>Source</h2>
		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>
